package com.JUC;

import java.util.concurrent.TimeUnit;

public class JUC04_Lock8 {
    public static void main(String[] args) throws Exception {
        Phone phone = new Phone();

        //第 4 问
        // 新增一个资源类
        Phone phone2 = new Phone();

        new Thread(()->{
            phone.sendMes();
//            phone.sendMes2();

            },"Thread_A").start();

        // 第 1 问
        // 加一个时间间隔，保证 A 先启动
        Thread.sleep(200);

        new Thread(()->{
            phone.sendEmall();
//            phone.hello();
//            phone2.sendEmall();
//            phone.sendEmall2();

            //第 6 问
            // 两个资源类
//            phone2.sendEmall2();

            //第 7 问
            // 1 个普通方法，1 个静态方法， 1 个资源类
//            phone.sendEmall2();

            //第 8 问
            // 1 个普通方法，1 个静态方法， 2 个资源类
//            phone2.sendEmall2();

            },"Thread_B").start();

    }
}
class Phone{
    public synchronized void sendEmall(){
        System.out.println("-----发送邮件-----");
    }
    public synchronized void sendMes(){
        //第 2 问
        // 让发送短信暂停 4 秒
        try {
            TimeUnit.SECONDS.sleep(4);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("++++++发送短信++++++");
    }

    //第 5 问
    // 两个静态方法类
    public synchronized void sendEmall2(){
        System.out.println("--静态---发送邮件-----");
    }
    public synchronized void sendMes2(){
        try {
            TimeUnit.SECONDS.sleep(4);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("++静态++++发送短信++++++");
    }


    //第 3 问
    // 新建一个 hello 方法
    public void hello(){
        System.out.println("hello");
    }
}
